package com.tyk.bookstore.back.message.model.vo;

import com.tyk.bookstore.back.common.core.model.page.PageVo;
import com.tyk.bookstore.back.message.model.enume.NoticeState;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author tyk
 * @description 信息公告
 */
@Data
@Schema(name = "InfoNoticePageVo", description = "信息公告")
public class InfoNoticePageVo extends PageVo<InfoNoticePageVo.InfoNotice> {

    @Data
    @Schema(name = "InfoNotice", description = "信息公告")
    public static class InfoNotice implements Serializable {

        @Serial
        private static final long serialVersionUID = 1L;

        @Schema(description = "ID")
        private Long id;

        @Schema(description = "发布者ID")
        private Long userId;

        @Schema(description = "标题")
        private String title;

        @Schema(description = "内容")
        private String content;

        @Schema(description = "署名")
        private String signature;

        @Schema(description = "状态[0未发布,1已发布]")
        private NoticeState state;

        @Schema(description = "发布时间")
        private LocalDateTime createTime;

        @Schema(description = "更新时间")
        private LocalDateTime updateTime;

    }
}
